251d6cc7d2f76b6d614f6aff10f339c6effe4ef0,plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleResourceCompilerConfigurationGenerator.java,GradleResourceCompilerConfigurationGenerator,generateBuildConfiguration,#,86
Before Change
final File gradleConfigFile = new File(projectSystemDir, GradleProjectConfiguration.CONFIGURATION_FILE_RELATIVE_PATH);
GradleProjectConfiguration projectConfig = new GradleProjectConfiguration();
for (Module module : myContext.getCompileScope().getAffectedModules()) {
if (!ExternalSystemApiUtil.isExternalSystemAwareModule(GradleConstants.SYSTEM_ID, module)) continue;
if(shouldBeBuiltByExternalSystem(module)) continue;
final String gradleProjectPath = module.getOptionValue(ExternalSystemConstants.ROOT_PROJECT_PATH_KEY);
assert gradleProjectPath != null;
final ExternalProject externalRootProject = myExternalProjectMap.get(gradleProjectPath);
if (externalRootProject == null) {
myContext.addMessage(CompilerMessageCategory.ERROR,
String.format("Unable to make the module: %s, related gradle configuration was not found. " +
"Please, re-import the Gradle project and try again.",
module.getName()), VfsUtilCore.pathToUrl(gradleProjectPath), -1, -1);
continue;
}
ExternalProject externalProject = myExternalProjectDataService.findExternalProject(externalRootProject, module);
if (externalProject == null) {
LOG.warn("Unable to find config for module: " + module.getName());
continue;
}
GradleModuleResourceConfiguration resourceConfig = new GradleModuleResourceConfiguration();
resourceConfig.id = new ModuleVersion(externalProject.getGroup(), externalProject.getName(), externalProject.getVersion());
resourceConfig.directory = FileUtil.toSystemIndependentName(externalProject.getProjectDir().getPath());
final ExternalSourceSet mainSourcesSet = externalProject.getSourceSets().get("main");
addResources(resourceConfig.resources, mainSourcesSet, ExternalSystemSourceType.RESOURCE);
final ExternalSourceSet testSourcesSet = externalProject.getSourceSets().get("test");
addResources(resourceConfig.testResources, testSourcesSet, ExternalSystemSourceType.TEST_RESOURCE);
final CompilerModuleExtension compilerModuleExtension = CompilerModuleExtension.getInstance(module);
if(compilerModuleExtension != null && compilerModuleExtension.isCompilerOutputPathInherited()) {
String outputPath = VfsUtilCore.urlToPath(compilerModuleExtension.getCompilerOutputUrl());
for (ResourceRootConfiguration resource : resourceConfig.resources) {
resource.targetPath = outputPath;
}
String testOutputPath = VfsUtilCore.urlToPath(compilerModuleExtension.getCompilerOutputUrlForTests());
for (ResourceRootConfiguration resource : resourceConfig.testResources) {
resource.targetPath = testOutputPath;
}
}
projectConfig.moduleConfigurations.put(module.getName(), resourceConfig);
}
final Document document = new Document(new Element("gradle-project-configuration"));
XmlSerializer.serializeInto(projectConfig, document.getRootElement());
buildManager.runCommand(new Runnable() {
@Override
public void run() {
After Change
projectConfig.moduleConfigurations.putAll(affectedModuleConfigurations);
final Document document = new Document(new Element("gradle-project-configuration"));
XmlSerializer.serializeInto(projectConfig, document.getRootElement());
buildManager.runCommand(new Runnable() {
@Override
public void run() {